home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-06-06 | 63.7 KB | 1,265 lines |
- ┌──────────────────────────────────────────────────────────────────────────────┐
- │ Designations claimed as trademark appear in initial capitals or all capitals │
- └──────────────────────────────────────────────────────────────────────────────┘
- Copyright (c) 1989, 1990, 1991 by F.M. de Monasterio. All rights reserved.
-
- VIz version 4.12
- ----------------
-
- SUMMARY
-
- VIz is a small resident program that accelerates BIOS (and DOS) video input
- and output in text mode; it can be used with IBM-compatible MDA, EGA or VGA
- adapter cards and Hercules HGC and HGC+ cards. In its present version, VIz
- produces video interference ("snow") in old CGA cards; for such systems you
- can use VIz-CGA, a snow-free, 8088-cpu oriented version.
-
- In addition, VIz includes an independent, resident component for displaying
- a block cursor, either continously or alternating with a line cursor (at an
- adjustable rate of alternation). The latter display is well suited for easy
- localization of the cursor in some laptop screens.
-
- Finally, VIz also contains an independent, resident ANSI-filter driver that
- mediates a subset of the ANSI escape sequences to control the console. This
- filter can be used, instead of ANSI.SYS, to implement ANSI escape sequences
- to control video display, with the advantage that can be turned off and on,
- and removed from memory without rebooting.
-
- All 3 resident modules occupy a total of less than about 1700 bytes of RAM.
- Depending on system configuration and BIOS version, video acceleration by a
- factor of between 2 and 10 may be expected.
-
- ------------------------------------------------------------------------------
-
- GENERAL INFORMATION
-
- There are 3 basic ways of producing character-oriented, text video displays
- in DOS computers: (1) using direct video memory mapping, which is extremely
- fast but dependent on the video hardware and has a limited portability; (2)
- via BIOS services, provided by the first "hidden" DOS boot file and usually
- augmented by the video adapter, which are not as fast as direct mapping but
- more portable; and (3) via DOS services, provided by the other "hidden" DOS
- boot file and sometimes augmented via installable device drivers, which are
- much slower than the other two approaches, but have greater portability and
- permit additional operations such as redirection.
-
- Many of the DOS and BIOS video services can be accelerated using a resident
- program that intercepts the calls made to such services, and implements the
- video operation with faster instructions. Because of the nature of DOS and
- of BIOS services, the interception must occur at the input site of the BIOS
- services (interrupt 10h), whereas it can occur at the input site (interrupt
- 21h) or output site (interrupt 29h), or both, of the DOS services.
-
- VIz is a utility that accelerates many of the basic text-video functions and
- permits changing the video mode, page and font of the display as well as the
- raw or normal mode of DOS video ouput. When used with a VGA/EGA system, VIz
- also permits control of the red, green, and blue mixture that determines the
- color of each of the 16 registers of the EGA/VGA color palette, allowing for
- the remapping of the RGB mixture to suit user preferences. Finally, VIz also
- permits the control of the frequency (pitch) of the bell's tone.
-
- VIz releases require MS-DOS or PC-IBM DOS version 2.10 or later.
-
- A 32-bit CRC calculation is performed each time VIz is invoked. If it fails,
- the program will abort to DOS; CRC failures indicate corruption of the code,
- and the program therefore should not be used.
-
- ----------------
-
- HARDWARE COMMANDS - TESTOUT.EXE
-
- Cursor position is updated via direct hardware commands. Starting with VIz
- release 3.00, such commands can be sent out as WORD (double-byte) values or
- as two successive BYTE values. The WORD-out method of addressing, also used
- by other programs (e.g. Microsoft Windows), yields faster accelerations but
- it may not work with some (older) clone systems.
-
- To test which method of addressing you can use, run the program TESTOUT.EXE
- to see if the cursor appears at the indicated position. If it does so, your
- system can handle WORD out commands.
-
-
- CPU VERSIONS
-
- The 286 release of VIz is faster than the 086 release by taking advantage of
- 286-code in real mode. Similarly, the 386 release uses 386-code in real mode
- to take advantage of 32-bit operations, and other 386-specific instructions;
- while this combination makes this release faster than the others for a 80386
- or 80486 CPU machine, its video acceleration performance is dependent on bus
- size (i.e. 386SX) and the additional wait states imposed during video memory
- access. Consequently, actual acceleration values may be less than otherwise
- could be expected. The same caveat applies to 80486 processors due to clock
- cycle differences for some instructions and their alternatives (i.e., 'lods'
- vs. 'mov/add' combination); a 486 release of VIz may become available soon.
-
- Average accelerations and comparisons with other accelerators, based on four
- benchmarks, are described in the accompanying file VIZ.DAT for 086, 286, and
- 386 VIz versions.
-
- ------------------------------------------------------------------------------
-
- 1. VIDEO ACCELERATION MODULE
-
- VIz installs itself as a resident program that can be invoked repeatedly for
- modification of its parameters, without producing multiple copies on memory;
- the accelerator module of the resident uses less than 1,000 bytes of RAM. To
- maximize speed of code, but minimize resident size, acceleration only occurs
- for video page 0 in a text mode (1-3, color; 7, monochrome). In other pages
- or graphic modes, VIz becomes inactive and is automatically reactivated by a
- change that resets the video to page 0 in a text mode. Viz accelerates BIOS
- video functions, and it can also accelerate DOS-mediated screen output.
-
- The acceleration of VIz can be turned off either by deallocating the program
- with the switch /U (if no other resident has been installed after VIz) or by
- making it quiescent with switch /Q (i.e. it remains resident but not active)
- until reactivation (any switch but /QU) or deallocation by a further call to
- VIz.
-
- The relative acceleration depends on several factors, including BIOS version
- and date, 80x86 Intel CPU model and speed, and whether or not ROM video BIOS
- is shadowed or remapped to faster RAM. Another factor, often disregarded, is
- the use of other residents also intercepting the interrupt 10h. In addition,
- some memory managers, even when RAM-shadowing video BIOS, have been found to
- yield nontrivial degradations of video speed (see VIZ.DAT). Whereas smaller
- acceleration factors are to be expected in machines performing a faster BIOS
- operation (i.e. tighter ROM code, faster CPU, shadowed or remapped ROM), the
- relative weight of individual factors may yield unexpected results.
-
- VIz updates relevant parameters in the BIOS data area (segment 40h), such as
- cursor position (page 0 only) and type, video mode, page, and font, that are
- also processed by VIz; while such updating degrades video acceleration time,
- it also decreases the possibility of conflict with foreground utilities that
- use BIOS data but bypass BIOS calls.
-
- ----------------
-
-
- 2. BLOCK-AND-LINE CURSOR ALTERNATION MODULE
-
- To help cursor visualization in screens where the cursor is not easily seen,
- as in some laptop displays, VIz provides a small resident module that allows
- for the display of a (full-)block cursor, either continuously or alternating
- with a line cursor. The alternation rate can be adjusted in steps of 54.9 ms
- between about 0.055 s (/V1) and 5.5 s (/V99). A zero alternation rate (/V0)
- produces a continously present block cursor. For the module to be loaded in
- memory, VIz must be installed with any /V switch (see below), and it adds an
- additional 100 bytes to the resident size of VIz.
-
- Very short or very long alternation rates are distracting or hard to follow.
- When selecting a rate for laptop displays, start with a value of n=9 (.50 s)
- or so.
-
- Block cursor alternation can be turned off by making this resident quiescent
- with the switch /V+ (until its reactivation with /Vn). All cursor operations
- use direct commands to the hardware, and assume register-level compatibility
- with the Motorola 6845 CRT controller. This chip is present in MDA, CGA, and
- HGC cards, while a 6845-compatible CRTC is a custom LSI chip in the IBM-EGA,
- part of the Memory Controller Gate Array on the MCGA, or a part of the Video
- Graphics Array on the VGA.
-
- Notice that the hardware-controlled blinking of the cursor is not eliminated
- by this service. Hence, depending on the alternation rate selected, a 2-beat
- frequency may be noticeable.
-
- ----------------
-
-
- 3. ANSI-COMPATIBLE VIDEO FILTER MODULE
-
- MS-DOS and IBM PC-DOS files include ANSI.SYS, a console filter driver that
- mediates a subset of American National Standards Institute (ANSI) standard
- escape sequences for video functions as well as a supplementary subset for
- keyboard functions (such as key reprogramming).
-
- VIz has a second, independently installable resident module that implements
- standard ANSI escape sequences to control the console video functions. This
- ANSI-compatible filter uses less than some 800 additional bytes of RAM when
- installed. It can be turned off either by uninstalling all the VIz resident
- modules or by inactivating the filter with switch /A-. The inactive filter
- can be reactivated with switch /A+. All ANSI operations use BIOS calls.
-
- The filter does not provide by itself much acceleration of DOS video I/O as
- far as ANSI instructions are concerned. Its advantages are small size, the
- capability of being switched on or off, and its harmonious working with the
- acceleration module of VIz.
-
- To avoid conflicts, VIz will not install its ANSI filter if ANSI.SYS or the
- utility ANSI.COM (Copyright 1989 Ziff-Davis Corp., version 1.20) is already
- loaded. The presence of either one can be ascertained via the Status/Usage
- panel displayed by the command 'VIZ ?┘' from the DOS prompt.
-
- --------
-
- The ANSI-compatible filter implements the following subset of ANSI 3.64-1979
- standard escape sequences to control console video functions (see your MS/PC
- DOS documentation of ANSI commands):
-
- A. Selection of the foreground and background colors on a color display or
- the text attributes on a monochrome display system. The sequence syntax
- is <Esc>[#;...;#m, where # is 30-37 to select a foreground color, 40-47
- 47 to select a background color, and 0-1, 4-5 or 7-8 to select the text
- attributes.
-
- B. Selection of the video mode (similar to using the MODE command of DOS).
- The sequence syntax is <Esc>[=#h or <Esc>[=#l, where # is 0-6 or higher
- (depending on the adapter card in use).
-
- C. Selection of word wrapping, i.e. whether lines longer than the width of
- the screen are truncated. The sequence syntax is <Esc>[?7h or <Esc>[?7l
- to turn word wrapping ON or OFF, respectively.
-
- D. Cursor positioning for the following sequences:
-
- <Esc>[r#;c#H - Move to specified row (r#) and column (c#)
- <Esc>[r#;c#f - Same a previous sequence
- <Esc>[r#A - Move cursor up by specified number of rows
- <Esc>[r#B - Move cursor down by specified number of rows
- <Esc>[c#C - Move forward the specified number of columns
- <Esc>[c#D - Move backward the specified number of columns
-
- <Esc>[s - Store current position of the cursor
- <Esc>[u - Restore to the position stored by <Esc>[s
-
- <Esc>[K - Erase from the cursor to end of the line
- <Esc>[2J - Clear all rows and home cursor (this sequence
- preserves current color attribute)
-
- Not supported by the filter are the cursor-position-reporting ANSI sequence
- (<Esc>[r#;c#R) and the supplementary set of sequences used by DOS' ANSI.SYS
- to permit keyboard reprogramming (i.e. <Esc>[#;'string';3p), a set which is
- not part of the 1979 ANSI standard.
-
- You should thus consider using the filter, instead of ANSI.SYS or ANSI.COM,
- when interested in using video escape sequences alone, without any keyboard
- remapping.
-
- ----------------
-
- 4. INTERCEPTED INTERRUPTS
-
- VIz versions 2.40 and higher do not monitor interrupt 1Ah any longer before
- attempting to uninstall the residents. The following hardware and software
- interrupts are intercepted according to the loading configuration:
-
-
- INTERRUPT 8h (system timer):
-
- Channel 0 of the 8253/8254 timer chip produces a hardware interrupt (IRQ0),
- interrupt 8h, about 18.2 times a second that is used by the system time-of-
- day clock. When the cursor module is installed, switch /Vn (n=0 or 1 to 99)
- forces the display of the block cursor, either in continuous or alternating
- manner. Depending on the VIz version (cf. 4.2), cursor shape is implemented
- via commands using word (16 bits) or byte (8 bits) output.
-
-
- INTERRUPT 10h (video BIOS):
-
- The accelerator module of VIz intercepts the ROM BIOS video interrupt, 10h.
- When the system is in page 0 and a text mode, video acceleration occurs for
- subfunctions 0h through Eh, except for subfunctions 4h, 7h, Bh, and Ch.
-
-
- INTERRUPT 21h (DOS services):
-
- Starting with version 2.0, DOS allows the redirection of the Standard Input
- (StdIn) and Standard Output (StdOut) console device, permitting programs to
- send input to or to receive output from other programs. Unless redirected,
- the StdIn comes from the keyboard and the StdOut goes to the screen. These
- and some other devices can be addressed by predefined DOS 'file handles' as
- if they were disk files. A common DOS-mediated technique to send output to
- the screen is to write to the handle 1 (StdOut) via interrupt 21h, function
- 40h; in fact, this is the preferred method of DOS-mediated video output for
- DOS version 2.0 or higher.
-
- The accelerator module of VIz also intercepts interrupt 21h. Switch /Z+ re-
- directs the 21h/40h/1-console stream (StdOut) to the accelerator, resulting
- in significant accelerations of the DOS video services. The acceleration is
- not increased by setting the DOS mode to "raw" (see below). Switch /Z- (or
- default installation) permits the 21h/40h/1-video output to be processed by
- the CON: device.
-
- The redirection of StdOut to VIz does not conflict with the CLS command (as
- the redirection does not affect interrupt 29h [see section 4.1]). Selection
- of switch /Z+, however, voids any redirection of the StdOut, including that
- to the NUL: device (e.g., to avoid some messages), since the 21h/40h-stream
- is intercepted by VIz before the output can be redirected by DOS.
-
- Switch /Z requests are not disregarded when ANSI.SYS, ANSI.COM, or VIz-ANSI
- filter is active. Notice, however, that the redirection of StdOut by switch
- /Z+ will conflict with any ANSI command sent to the CON device via standard
- output calls to interrupt 21h/40h/1. ANSI commands using interrupt 29h are
- not affected by switch /Z+ (see below).
-
-
- INTERRUPT 29h (fast CON)
-
- The ANSI-compatible module of VIz intercepts interrupt 29h, an undocumented
- feature present in all recent versions of DOS. Int 29h is normally provided
- by the built-in console device driver of DOS, and consists of a call to the
- BIOS interrupt 10h. DOS uses int 29h instead of the normal request-passing
- mechanism to accelerate output to the current CON: device. The ANSI module
- filters this output.
-
- If a request to inactivate the installed ANSI filter is encountered (switch
- /A-), VIz checks whether the int 29h can be restored to its original memory
- address. If the revectoring is not possible (i.e. when another resident has
- also intercepted int 29h), this filter remains partially active in order to
- handle an ANSI escape sequence generated by COMMAND.COM to clear the screen
- when a CLS command is detected (see below); other ANSI escape sequences are
- ignored by the filter and passed to the screen. Hence, when revectoring is
- possible, switch /A- has the same effect as installing VIz without a switch
- /A, except that the memory occupied by the ANSI filter is not released; the
- filter is reactivated by a subsequent call to execute VIz with switch /A+.
-
- VIz versions 3.64 and higher do not redirect interrupt 29h to the teletype
- service of VIz any longer (old switch /X±).
-
-
-
- 4.1 THE CLS COMMAND AND INTERRUPT 29h
-
- The internal console device driver installed during booting handles the CLS
- as well as int 29h service. The CLS procedure of COMMAND.COM first tests to
- see if (1) the standard-output handle is associated with a character device
- driver (bit 7=1), and (2) the driver services int 29h (bit 4=1). If one or
- both tests fail, or if both tests are successful but the vector for int 29h
- does not point to the memory segment of the DOS kernel, COMMAND.COM outputs
- the ANSI escape sequence <Esc>[2J to int 29h; otherwise, it makes a call to
- int 10h, subfunction 6 of the BIOS to clear the screen.
-
- When int 29h cannot be revectored on /A-, the partial driver activity slows
- down slightly the DOS video output whenever the ASCII character 27 (Esc) is
- found in the character stream. This partial activity is needed, however, as
- DOS issues an ANSI escape sequence to clear the screen whenever int 29h has
- been revectored. Thus, if VIz were not to retain its ANSI driver partially
- active when revectoring of int 29h is not possible, the DOS escape sequence
- would be displayed (without clearing the screen) whenever a CLS command was
- issued.
-
- ------------------------------------------------------------------------------
-
- 5. USAGE
- Syntax: VIZ [/Switches] [;Comments]
-
- The switches can be entered from:
-
- (1) the DOS command line (COMMAND.COM shell prompt)
- (2) a batch file
- (3) a DOS environment string with the format VIZ=/SWITCH1.../SWITCHn
-
-
- Switches can be given in any order. Any character between space and slash
- [/] can be used as a switch delimiter. Switches are not case sensitive.
-
- Switches /A, /B, /C, /D, /I, /M, /P, /R, and /S are "sticky" parameters in
- the sense that the video change they produce will remain in effect even if
- VIz is made quiescent or is uninstalled.
-
-
- --------------------------------------------------------------------------
- Switches marked with asterisks are available only in registered copies
- --------------------------------------------------------------------------
-
-
- - [/?] Status/Usage/Help panels. Switch /? displays a status/usage panel,
- which shows the status of video I/O services, StdOut stream re-direction,
- ANSI filter, DOS character processing and the current value of video page
- | and video mode. When VIz is installed, a brief explanation of the status
- | of each highlighted service can be obtained by pressing the left or right
- | (cursor) arrow keys or, when a Microsoft Mouse driver 6.0 or a compatible
- | driver is already installed, by clicking the mouse over the screen button
- | marked 'Status.'
-
- When video modes higher than n+128 (which do not clear the display buffer
- when selected [AT and PS/2]) are detected, the mode number is followed by
- an asterisk; thus video mode 131 is displayed as '3*' in the Status line.
- | In addition to the status-line panels, the status of some on/off switches
- | is also shown by a '+' or '-' on the switches menu before a given switch.
-
- When switch /? is requested and a EGA or VGA adapter is present, VIz will
- attempt to read (and save) the contents of the palette registers prior to
- asserting its own attribute palette for the display. For the EGA, this is
- attempted by setting up a 'Parameter Save Area' that the EGA BIOS can use
- to store the contents of the palette registers, and the border (overscan)
- register, so that these contents can be restored upon exiting the Syntax/
- Status panel. If the EGA BIOS fails to store the data, VIz then loads the
- default palette described below in switch /C; the original palette can be
- restored by clearing the screen (if VIz had been installed with switch /C
- enabled) or by resetting the video mode.
-
- | The Usage panel lists all program switches; to cycle between the menus of
- | main and auxiliary switches, press <F2> or <M> (or click one mouse button
- | on the [Menu] pad). The Help panel provides a summary description of the
- | program and its switches: Press <F1> or <H> (or click one mouse button on
- | the [Help] pad) to show the help panel. To return to DOS from any panel,
- | press <Esc> or <X> (or click one mouse button over the [eXit] pad). From
- | the Usage panel, a two-button click of the mouse in any position provides
- | a quick exit to DOS.
-
- --------
-
- * [/A±] Installs a resident filter to implement (the video subset of) ANSI
- escape sequences; installation is aborted if presence of the DOS ANSI.SYS
- is detected. Although this filter can take advantage of VIz acceleration,
- it is independent of the accelerator resident component, and its activity
- can be controlled independently with the following switches:
-
- * /A+ Reactivates the filter if installed and inactive, or (if
- VIz is not installed) installs the resident ANSI filter,
- and inactivates the remapping of the EGA/VGA palette via
- /Cn:n, /Cm, or /C+.
-
- * /A- Inactivates the filter, if installed and active. It also
- reactivates a previously active remapping of the EGA/VGA
- palette.
-
- Defaults: /A = /A+
-
- --------
-
- * [/Bn] Selects the color for the screen border in text mode and the back-
- ground and border color for graphic modes. This color is specified by the
- Red-Green-Blue mixture value given as 1 or 2-digit number in octal format
- in the range from 0 to 77o (see Switch /C below).
-
- Since the border is notoriously poor in most EGA systems (due to overscan
- properties), switch /B is not likely to produce an acceptable border with
- such systems. No defaults.
-
- --------
-
- * [/C] Allows changes in the EGA/VGA color palette. This palette, which
- consists of 16 registers, is used map the video memory data into colors.
- In EGA-compatible modes of the VGA and in the EGA, where 16 simultaneous
- colors can be displayed out of a possible 64-color palette, the value in
- each one of such registers determines the amount of Red, Green, and Blue
- mixture in the displayed color.
-
- This amount can be represented by the data bits <RGBrgb>, where <000rgb>
- shows the color at 33%, <RGB000> at 66%, and <RGBrgb> at 100% intensity.
- These bits, and their resultant color, are shown below using both binary
- (base 1) and octal (base 8) number formats:
-
- ┌─────────┬───────┬─────────────┐
- │ binary │ octal │ Color │ Since the binary format takes up a
- ├─────────┼───────┼─────────────┤ lot of space it is more convenient
- °│ 000 000 │ 00 │ 100% black │ to use the 2-digit octal format to
- │ 000 001 │ 01 │ 33% blue │ represent an RGB value. The binary
- │ 000 010 │ 02 │ 33% green │ equivalence of octal numbers is:
- │ 000 011 │ 03 │ 33% cyan │
- │ 000 100 │ 04 │ 33% red │
- │ 000 101 │ 05 │ 33% magenta│ 0o = 000000b
- │ 000 110 │ 06 │ 33% yellow │ 1o = 000001b
- │ 000 111 │ 07 │ 33% white │ 2o = 000010b
- ├─────────┼───────┼─────────────┤ 3o = 000011b
- °│ 001 000 │ 10 │ 66% blue │ 4o = 000100b
- °│ 010 000 │ 20 │ 66% green │ 5o = 000101b
- °│ 011 000 │ 30 │ 66% cyan │ 6o = 000110b
- °│ 100 000 │ 40 │ 66% red │ 7o = 000111b
- °│ 101 000 │ 50 │ 66% magenta│ 10o = 001000b
- °│ 110 000 │ 60 │ 66% yellow │ 11o = 001001b
- °│ 111 000 │ 70 │ 66% white │ 12o = 001010b
- ├─────────┼───────┼─────────────┤ 13o = 001011b
- °│ 001 001 │ 11 │ 100% blue │ 14o = 001100b
- °│ 010 010 │ 22 │ 100% green │ 15o = 001101b
- °│ 011 011 │ 33 │ 100% cyan │ 16o = 001110b
- °│ 100 100 │ 44 │ 100% red │ 17o = 001111b
- °│ 101 101 │ 55 │ 100% magenta│ 20o = 010000b
- °│ 110 110 │ 66 │ 100% yellow │ etc
- °│ 111 111 │ 77 │ 100% white │
- └─────────┴───────┴─────────────┘
- (°) IBM-EGA default color palette
-
- Of course, other colors can also be generated when using a different RGB
- mixture value. For instance, a desaturated (i.e., whitish) RGB sequence
- is obtained in the octal range 71o through 76o. Those using the utility
- SPECTRUM.COM (Copyright 1987 Ziff-Davis Publishing Corp.) will recognize
- the <RGBrgb> octal format as the so-called "SPECTRUM code."
-
- This palette control is also enabled (VIz 2.42+) for the monochrome mode
- of VGA and MCGA adapters to remap color codes into gray-scale values.
-
- The following services are available:
-
- * /Cn:n To modify the EGA/VGA color palette from the DOS command
- line, type a 16-number sequence in which numbers must be
- separated by colons (:) as in the following example:
-
- /C03:00:20:30:40:50:01:77:70:11:22:33:44:55:66:76
-
- that represents the default palette colors loaded by VIz
- when switch /C? is used. When an incomplete sequence is
- provided, the RGB values are written into the respective
- palette registers starting from register 0. When a non-
- numeric value is provided, the palette is not changed.
-
-
- * /Cm Unlike the EGA, when the MCGA and VGA emulate a 16-color
- text mode for a monochrome display, the palette consists
- of four groups of four shades of gray. Switch /Cm loads
- a palette where the gray-scale values increase uniformly
- with increasing attribute values. The monochrome palette
- corresponds to the command:
-
- /C00:50:01:31:61:12:42:03:43:04:44:05:55:26:07:77
-
- Switch /Cm can also be used with CGA monochrome displays
- (e.g., laptops) to translate color attributes into gray-
- scale values.
-
-
- /C? This service provides a display of the palette registers
- and the corresponding RGB mixture in octal format. It is
- possible to alter the RGB mixture of any register simply
- by pressing <R>, <G>, or <B> and then <> or <>. These
- arrows cycle through 0%, 33%, 66%, and 100% intensity of
- the respective RGB component. The actual RGB mixture of
- the selection is also shown on a graph. Press the right
- or left arrow to cycle through the registers, and <HOME>
- to go to register 0 or <END> to go to register 15.
-
- Press <ENTER> to save the current palette, <ESC> to quit
- the service without any palette changes, <DEL> to reject
- any change and to restart the service, and the indicated
- function keys to load several available palettes.
-
-
- * /C- Use to inactivate the implementation of EGA/VGA palette
- changes via VIz. The video attributes remain unchanged
- until the a video operation reloads the palette, e.g. a
- video mode change. Switch /A+ also turns off remapping
- of the palette.
-
-
- * /C+ Use to reactivate the implementation of EGA/VGA palette
- changes via VIz; it reloads the last color palette that
- was selected via VIz. Switch /A- reactivates remapping
- if remapping was in effect prior to an /A+ request.
-
- Defaults: /C = /C+.
-
- The selected EGA/VGA palette changes are asserted (i.e. the palette is re-
- loaded with the selected RGB values) each time that a video mode change or
- a video font change (int 10h functions 5h and 11h) is requested and VIz is
- active (i.e., no /Q switch, graphics mode, or video page other than 0).
-
- To preserve the small size of Viz, there is no hotkey pop-up service. If a
- program changes the palette when executed, the RGB mix values selected via
- VIz cannot be asserted except by shelling to DOS and invoking VIz with the
- switch /C+ to reload the palette or triggering a video mode/font change.
-
- --------
-
- * [/Dn] Adjusts brightness of screen (VGA card only); the brightness change
- step is specified by the sign and value of number <n> between -63 and +63.
- Use of a high negative or positive number results in an unreadable screen.
-
- Requesting /D0 results in restoration of the screen to its default setting
- (as dictated by the manual controls of the video monitor). Defaults: /D =
- = /D+1; /D1 = /D+1.
-
- --------
-
- * [/E] Creates the DOS environment string VIZ=/SWITCH1.../SWITCHn, in which
- SWITCH1...SWITCHn are the switches specified when VIz is executed from the
- DOS command line. When the string VIZ= already exists, the switch updates
- the string contents. (Although the switch is incorporated into the string
- contents, its presence is ignored when VIz uses such string as input.)
-
- Switch /E modifes the global environment whether the resident shell is the
- initial copy of COMMAND.COM (global environment) or a secondary one (local
- environment). See section 5.1 for more details. No defaults.
-
- --------
-
- * [/F] If VIz detects an EGA or VGA adapter, switch /F toggles between 25-
- row (EGA/VGA) and 43-row (EGA) or 50-row (VGA) displays. (When an EGA/VGA
- adapter is found, VIz also selects the alternate BIOS print-screen service
- to avoid the default ROM-BIOS print-screen routine that works with 25 rows
- only.) In 25-row displays, VIz uses a 8x14 font for EGA or a 9x16 font for
- VGA. Fonts with more than 25 rows can be loaded only if the current video
- page is between page 0 and 3 (see switch /S for printing screens with more
- than 25 rows). No defaults.
-
- --------
-
- * [/Gn] Selects frequency in Hertz (cycles per second) of 55-ms bell tones.
- Values between 25 Hz and 5,000 Hz are accepted. Values below 25 become 25
- Hz and above 5,000 become 5,000 Hz; use of more than 4 digits results in a
- reading of the 4 least significant digits (i.e. 50,000 Hz is read as 0000,
- triggering the use of 25 Hz). Defaults: /G = /G440.
-
- (Most computer speakers work properly only in the range between 100 Hz and
- 3,000 Hz. Frequencies for the octave starting at middle C are: C = 523.3,
- D = 587.3, E = 659.3, F = 698.5, A = 880.0, and B = 987.7 Hz. Frequencies
- at higher [lower] octaves increase [decrease] approximately by a factor of
- 2 per octave change from the above values.)
-
- The tones always last 55 ms (one tick of the 8253/8254 timer chip). Since
- the tones are forced to begin at the start of a 55-ms tick period, stacked
- calls to the bell (i.e. 'ECHO ^G^G^G^G^G^G') will result in a distinctive,
- staccato burst due to intervening, silent 55-ms tick periods.
-
- --------
-
- * [/I±] Toggles blinking (/I-) and intense (/I+) background colors whenever
- the background attribute corresponds to a value between 8 and F (bit 7 on)
- in the selection of screen foreground/background color. No defaults.
-
- --------
-
- * [/L] Instructs the program to load its resident module(s) in high memory
- between 640 kb and 1,024 kb, i.e., below the 1 Mb boundary of conventional
- RAM but above the RAM area normally controlled by DOS. Switch /L requires
- that an XMS manager (XMM) complying with the specifications of XMS 2.0 has
- been previously installed and that a free upper memory block (UMB) of less
- than 2 kb is available. The XMM must support functions 10h (Allocate UMB)
- and 11h (Free UMB). Unlike the high-memory loading provided by 386 memory
- managers, the required size of the free UMB is that of the resident(s) and
- not that of the entire VIz program; an additional 64 bytes are used by XMS
- for the UMB allocation. (See High Memory Installation section.)
-
- Defaults: Low-memory installation if any error is found during high-memory
- loading.
-
- --------
-
- * [/Mn] Selects the video mode specified by a number <n> in the range of 0
- through 99; note that there is no checking that the selected mode is valid
- for the adapter. No defaults.
-
- --------
-
- * [/N±] Messages dealing with nonfatal operations are either not displayed
- (/N+), as if they had been sent to the NUL device, or (normally) displayed
- via the StdOut device (/N-), which can be redirected if switch /Z+ has not
- been selected.
-
- Since VIz gives a beep when a command error is detected, switch /N- should
- need to be used only after such a beep to display the error message again.
- Note that the installing, uninstalling and fatal-operation messages of VIz
- cannot be redirected and are always displayed. The status of operation can
- be monitored in batch files with ERRORLEVEL commands. Defaults: /N = /N+.
-
- --------
-
- * [/Pn] Selects the video page specified by a number (n) in the range of 0
- to 7 for EGA/VGA with 25-row font, or 0 to 3 for CGA and 43/50-row EGA/VGA
- adapter. No defaults.
-
- --------
-
- - [/Q] Quiescent. Switch /Q forces VIz to a 'quiet' mode; although still
- resident, VIz will not provide video acceleration. The overhead time for
- having VIz in quiescent mode is 2% or less of that without VIz. Note that
- even when quiescent or during graphics video mode, VIz still monitors the
- BIOS video interrupt to check for page or mode change requests. Switch /Q
- | disables video BIOS and StdOut (/Z+) acceleration, but does no affect the
- | operation of the ANSI filter (/A+).
-
- --------
-
- * [/R±] Forces the StdOut character device to normal text output mode [R-]
- or 'raw' mode [R+]. In normal mode output, the DOS kernel builds a device
- request header for a single character output, makes a Control-C check, and
- passes the request to the device; if there is no error, the buffer pointer
- and character count are updated, and this process is repeated until either
- an end-of-file character (ASCII 26, Ctrl-Z) is found or all characters are
- processed. Tabs (ASCII 9) are expanded to 8 spaces.
-
- In raw or binary mode, however, DOS does not filter the stream for control
- characters, but a single request header is passed to the device. Depending
- on the DOS version, the DOS-mediated video output is faster in raw mode by
- factor of about 1.40 (a much larger factor is provided by switch /Z+). No
- defaults.
-
- NOTE: When using 'raw' DOS mode as the default condition, be sure to set
- BREAK=ON in the CONFIG.SYS file to facilitate Ctrl-Break detection
-
- Some utilities set the DOS mode to 'raw' when executed and then change the
- mode to normal when they finish, irrespective of the mode encountered when
- they were executed. Hence, repeated use of switch /R+ may be necessary to
- maintain the raw character processing mode.
-
- --------
-
- * [/S±] Inactivates [S-] or reactivates [S+] the BIOS Print Screen function
- triggered by pressing the <PrtSc> key. This is useful when the keys of the
- number pad are used often, and the chance of triggering an unwanted screen
- print is commensurably high.
-
- If /S+ or /S-, or simply /S, is requested at the time of the installation,
- VIz selects via a BIOS call the alternate print-screen service in the EGA/
- VGA card BIOS extension that works properly if the screen length is not 25
- lines (when the card is an EGA or VGA adapter). This alternate service is
- needed when 43/50 lines are to be used, since the ROM BIOS default service
- only prints 25 lines.
-
- NOTE: Some EGA cards do not work properly when the alternate print-screen
- service is selected. If selecting switch /S± at installation results in a
- print-screen malfunction, first install VIz without selecting /S+, /S-, or
- /S, and then select the switch in a subsequent execution.
-
- Defaults: /S = enable BIOS alternate print-screen service
-
- --------
-
- - [/U] Uninstall. Switch /U uninstalls the resident components of VIz if
- the original interrupt vector 10h (and 29h, if the ANSI resident has also
- been installed) has not been changed. As with any other resident, do not
- uninstall VIz after another resident has been installed since the machine
- is likely to crash.
-
- Starting with version 2.20, VIz can be identified by name in low-memory-
- usage maps. Although VIz removes its own copy of the DOS' environment at
- at loading time (to minimize resident size), 'VIzxxx' will appear in the
- in the listings of these maps irrespective of the actual contents of the
- DOS command line at the time of VIz installation. For instance, the 386
- version of VIz (accelerator module only) will be listed by MAPMEM.COM of
- Turbo Power Software as:
-
- PSP blks bytes owner command line hooked vectors
- ----- ---- ----- -------- ------------------- ---------------
- xxxx 1 928 N/A VIz412 10 21
-
- if VIz is installed in DOS memory. However, if VIz is installed in high
- conventional memory via switch /L, it will be listed only as:
-
- PSP blks bytes owner command line hooked vectors
- ----- ---- ----- -------- ------------------- ---------------
- xxxx 1 928 N/A
-
- (Some other memory mapping utilities may fail to list this UMB separately
- lumping it instead with other allocated blocks.)
-
- --------
-
- - [/V] Forces a display of an alternating full-block-and-thin-line cursor
- [Vn, n=1 to 99] or of a continuous full block [Vn, n=0], makes the cursor
- invisible [V-], or allows display of the normal cursor [V+]. Switches /Vn
- and /V- produce changes of cursor type that can be reversed with /V+. Due
- to a potential BIOS conflict, switch /V- is ignored at installation time;
- to make an invisible cursor, first use /V+ or /Vn and then /V-. Defaults:
- /V = /V+.
-
- NOTE: The cursor resident component is not loaded unless VIz is installed
- with the switch /V+ or /Vn, and cannot be loaded after installation
- of the resident.
-
- --------
-
- - [/Z±] Directs video output mediated via interrupt 21h, fn. 40h (write to
- device [StdOut]) to the console driver [Z-], or to the accelerator module
- of VIz [Z+]. Defaults: Null or /Z = /Z-.
-
- Switch /Z+ provides a significant acceleration of video output for DOS-2+
- services and many other utilities using the write-to-StdOut function.
-
- See above for conflicts with StdOut redirection. Z+ processing uses an 8-
- space tab expansion (which is the standard expansion used by DOS). This,
- however, conflicts with the 4-space tab expansion used by the DOS command
- 'DIR' for its switch /W.
-
- --------
-
- Comments may be added in the DOS command line invoking VIz after the desired
- switches. The comments, which may be useful in clarifying batch files, must
- be preceded by a semicolon (;), and are ignored by VIz.
-
- NOTE: Do not use the DOS redirection (<>) and pipe (|) characters in these
- comments as DOS will attempt to implement the implied redirection or
- pipe request.
-
- ------------------------------------------------------------------------------
-
- 5.1 ENVIRONMENT VARIABLE 'VIZ'
-
- Starting with VIz version 3.63, when VIz is executed without any arguments
- from either the DOS command line or a batch file, the program switches can
- be specified via a DOS environment variable 'VIZ' having the format:
-
- VIZ=/SWITCH1/SWITCH2..../SWITCHn
-
- Up to 128 characters are allowed after the equal sign. There cannot be any
- spaces between switches; use slash as a separator. The string can be placed
- in the DOS environment block via the SET command or via switch /E.
-
- While the SET command modifies the default environment block, whether it is
- the global or a local one, switch /E always modifies the global environment
- block (even when VIz is executed via a secondary copy of COMMAND.COM, as in
- the case of 'shelling to DOS' from inside an application). Note that local
- environment blocks (i.e. a secondary COMMAND) are only a copy of the master
- global block and lack sufficient room to increase the length of a variable;
- hence, when the default block is a local one, switch /E does not modify it.
- In contrast, when reading the environment variable, the program always uses
- the default environment block.
-
- NOTE: See the file DOS_ENV.TXT, distributed in this release, for a more
- detailed description of the DOS environment block.
-
-
- A recommended use of the environment string is to specify the default /Cn:n
- configuration (e.g. /C03:00:20:30:40:50:01:77:70:11:22:33:44:55:66:76) that
- can be restored simply by executing VIz without any arguments after the RBG
- EGA/VGA palette has been changed.
-
- ----------------
-
- 5.2 DOS ERRORLEVEL
-
- Starting with version 3.10, VIz passes to DOS execution status values that
- can be tested in batch files via the ERRORLEVEL command; the following are
- values for version 4.02 or higher:
-
- Value Condition
- ----- --------------------------------------
- 255 Cyclical Redundancy Check failure
- 254 CPU type does not support the 386 or 286 version
- 253 Not enough memory to execute /C? or /?
- 252 Unable to remove resident from memory
- 251 Invalid cursor (switch /Vn) request
- 250 Invalid ANSI (switch /A) request
-
- 128 XMM not installed or XMS error in UMB load
- 64 Incomplete color palette data list
- 32 Invalid color palette datum
- 16 Invalid video font for adapter and/or page
- 8 Invalid video mode request
- 4 Invalid video page for adapter and/or font
- 2 Invalid video adapter for the request
- 1 Unknown or invalid switch request
- 0 Succesful execution
-
- Note that some errorlevel conditions in the range between 1 and 128 may be
- additive, and the errorlevel output may represent the sum of their values.
-
- ----------------
-
- 6.0 INSTALLATION
-
- It is recommended that VIz be installed before other resident programs also
- using the BIOS video interrupt 10h. Due to the nature of some of the video
- functions served, VIz often will not daisy chain the interrupt-10h requests
- to residents located down the intercepted interrupt-10h chain. In order for
- these residents to receive interrupt-10h data, they must be installed after
- VIz has been installed; thus, it is convenient to install VIz early in your
- AUTOEXEC.BAT file.
-
- Keep in mind that the larger the number of additional residents, the slower
- the absolute video acceleration times provided by VIz. This is because the
- int-10h request has to be processed by each element in the interrupt chain.
- One way to minimize the problem is to install a minimum number of residents
- via the AUTOEXEC.BAT and, before executing a given application, install any
- additional resident via a batch file that also executes the application and
- removes the residents upon the completion of the task. (VIz itself may fall
- in this transient category.)
-
- If you intend to make occasional use of the ANSI-compatible filter, without
- removing the resident ANSI component from memory, VIz may be installed just
- as decribed above. However, if you want to remove the ANSI component after
- a given ANSI-oriented task, then VIz must be the last resident to have been
- installed prior to such a removal.
-
- ANSI.SYS or ANSI.COM should not be loaded in order to use the ANSI resident
- of VIz. Notice that if an ANSI filter is active and VIz is switched to its
- 'fast DOS' mode (/Z+), this filter is likely to be unable to process escape
- sequences, unless the sequences are sent directly to the CONsole device via
- interrupt 29h instead of via DOS interrupt 21h.
-
-
-
- 6.1 RESIDENT SIZE
-
- Resident sizes obtained for various installation switches are listed below.
- The values are in bytes to the nearest 16-byte ('paragraph') multiple:
-
-
- VIz 4.12 /Z+ /V+ /A+
- -----------------------------------
- 386+ 928 1008 1696
- 286+ 896 976 1680
- 086+ 912 992 1696
-
-
-
- 6.2 HIGH-MEMORY RESIDENT INSTALLATION
-
- DIRECT UMB LOADING
-
- Starting with version 4.02, VIz can load itself directly into high memory
- (RAM addresses between 640 kb and 1,024 kb) via switch /L. Such a loading
- is mediated by an XMS manager (XMM) version 2.0, such as the driver HIMEM
- .SYS (Microsoft), which must be installed prior to VIz loading. Some 386-
- memory managers (386^MAX version 4.09 and QEMM version 5.11, for example)
- provide XMS support as well. All XMMs require DOS version 3.0 or later.
-
- For the loading to be successful, an upper memory block (UMB) of the size
- of the VIz resident(s), plus an additional 48-byte block used by the XMM,
- must be available.
-
-
- LOADING VIA 386-MEMORY MANAGERS
-
- VIz can also be loaded into high memory via 386-specific memory managers,
- provided that there is enough high-memory for the actual size of VIz plus
- the additional memory that is required by the loading utility.
-
- VIz is a compressed file that expands when loaded. The difference between
- the loaded and the directory size of VIz may produce conflicts with high-
- memory loading utilities that fail to measure the actual size of the file
- being loaded. If there is not enough high-DOS memory to permit expansion,
- but there is enough memory for the nominal directory size, such utilities
- will load the compressed program, whose subsequent expansion is likely to
- overwrite adjacent code and crash the computer. Note that when switch /?
- or /C? has been selected, an additional 4,300 bytes of RAM are needed.
-
- Further, even when the proper size is specified and available, some high-
- memory loading programs for 386 systems may become corrupted when loading
- into high memory compressed files of the type of VIz.
-
-
-
- 6.3 HIGH-MEMORY RESIDENT UPDATING
-
- Starting with version 3.40, a high-memory loading utility is not required
- to update the resident component of VIz, when this resident was installed
- in the first megabyte of memory (286+ CPU). Such updates can be made via
- normal calls from the DOS command line or batch-file calls. This obviates
- a major restriction in using high memory installation, namely the need to
- keep enough free high memory to load an entire program only to update its
- small resident component.
-
-
- 6.4 HIGH-MEMORY RESIDENT REMOVAL
-
- When VIz has been installed in high memory directly via switch /L, it can
- be removed directly from memory via switch /U from the DOS command line.
-
- When a high-memory installation was mediated by a memory manager, Viz can
- be removed with switch /U directly from the command line or after opening
- the high memory with the memory manager. When the resident is removed via
- such a manager, notice that some of these utilities warn that a "resident
- installation has failed." Such warnings are harmless and may be ignored.
-
- ------------------------------------------------------------------------------
-
- 7. ERROR MESSAGES
-
-
- 7.1 "CRC error ─ Execution aborted"
- A failure of 32-bit cyclical redundancy check was encountered when VIz was
- executed.
-
- --------
-
- 7.2a "This CPU cannot execute 286+ code ─ VIz aborted"
- 286+ versions of VIz cannot be executed in 8088, 8086, or (most) 80186 CPU
- machines.
-
- --------
-
- 7.2b "This CPU cannot execute 386+ code ─ VIz aborted"
- 386+ versions of VIz cannot be executed in 8088, 8086, 80186, or 80286 CPU
- machines.
-
- --------
-
- 7.3 "Needs DOS 2.10 or higher ─ Execution aborted"
- The program requires an MS-DOS/IBM-PC DOS version equal to or greater than
- 2.10 for proper execution.
- --------
-
- 7.4 "Installed - Enter 'VIz /?' for Status/Help panel"
- VIz was successfully executed and the resident(s) installed.
-
- --------
-
- 7.5 "A logical device named 'CON' is already installed"
- "Loading of the resident ANSI filter is cancelled."
- A logical driver with the device name CON was detected during installation
- with switch /A+ selected; in most cases this character device is ANSI.SYS.
- The resident ANSI filter of VIz is not installed.
-
- --------
-
- 7.6 "Updated"
- The relevant resident parameters of VIz were successfuly updated.
-
- --------
-
- 7.7 "Interrupt XXh has been revectored ─ Cannot uninstall"
- "Remove revectoring or inactivate with switches /Q/A-"
- The indicated interrupt vector (segment:offset) has been changed since its
- interception during the installation. VIz hooks interrupts 08h, 10h, 21h,
- and 29h (hexadecimal); if more than one interrupt vector has changed, only
- the first one is shown.
-
- --------
-
- 7.8 "Not enough memory for display processing"
- When switch /C? or /? is selected, VIz first releases any additional memory
- and then requests to DOS the allocation of 4300 bytes for video processing.
- The message is displayed if this memory is not available (other services or
- functions can still be executed).
-
- --------
-
- 7.9 "Invalid switch /Xx ─ Request disregarded"
- An invalid switch designator (X) or switch parameter (x) was passed to VIz.
-
- --------
-
- 7.10 "Cannot add resident modules after VIz installation:"
- "Uninstall residents and reinstall with switch '/A+'"
- Switch /A+ was requested after VIz was installed without the resident ANSI
- filter. Viz needs to be uninstalled and then reinstalled with the switch.
-
- --------
-
- 7.11 "Cannot add resident modules after VIz installation:"
- "Uninstall residents and reinstall with switch '/Vn'"
- Switch /Vn was requested after VIz was installed without the laptop cursor
- resident. Viz needs to be uninstalled and then reinstalled with the switch.
-
- --------
-
- 7.12 "Invalid page request"
- A page greater than the maximum page allowed by the video adapter and the
- current video font was requested. The CGA supports four 80x25 text pages
- (0-3). The EGA, MCGA, and VGA support eight 80x25 pages (0-7), or 4 pages
- when 80x43 (EGA), 80x40 (MCGA), or 80x50 (VGA) font displays are used.
-
- --------
-
- 7.13 "Only pages 0-3 can be used with 43/50-row fonts"
- A video page (4 through 7) incompatible with the video font was requested
- (see 7.11).
-
- --------
-
- 7.14 "Invalid mode request"
- A video mode incompatible with the (active) video adapter was requested.
-
- --------
-
- 7.15 "Invalid adapter request"
- An operation or service incompatible with the (active) video adapter was
- requested.
-
- --------
-
- 7.16 "Incomplete RGB data ─ Partial palette update"
- An incomplete list of EGA/VGA palette RGB mixtures was provided. Only the
- data provided were updated.
-
- --------
-
- 7.17 "Invalid RGB datum ─ Palette unchanged"
- An invalid RGB mixture datum was provided in an EGA/VGA palette list. The
- data of the palette were not changed.
-
- --------
-
- 7.18 "Invalid bell frequency"
- A bell tone frequency less than 25 Hz or more than 5000 Hz was requested.
-
- --------
-
- 7.19 "ANSI filter not yet installed"
- Switch /A- was requested when the ANSI filter had not been installed.
-
- --------
-
- 7.20 "Uninstalled"
- VIz resident modules were successfuly deallocated from memory.
-
- --------
-
- 7.21 "Failed to detect presence of an XMS manager (XMM)"
- VIz failed to determine presence of a driver compatible with the Extended
- Memory Specification (XMS) version 2.0 and the requested high-memory load
- (/L) defaulted to a normal low-memory installation.
-
- --------
-
- 7.22 "XMM failed to allocate upper memory block [XMS error: XXh]"
- The XMS manager did not allocate the requested UMB. One of the following
- XMS error codes would be expected:
-
- 00h - Allocated UMB smaller than requested size.
-
- 80h - Function is not implemented.
- 8Eh - General driver error occurred.
- 8Fh - Unrecoverable driver error occurred.
- B0h - Smaller UMB is available.
- B1h - No UMBs are available.
- B2h - UMB segment number is invalid.
-
- --------
-
- 7.23 "XMM failed to free upper memory block [XMS error: XXh]"
- The XMS manager did not free the allocated UMB. (See above for XMS error
- codes.)
-
- --------
-
- 7.24 "Not enough room in DOS environment block"
- There is insufficient room in the DOS environment block for the requested
- VIZ= environmental variable; this may be due to the use of a small block,
- which can be expanded as described in the file DOS_ENV.TXT.
-
-
- ------------------------------------------------------------------------------
-
- SINGLE USER (BBS-DISTRIBUTED) LICENSE AGREEMENT
-
- REGISTRATION
-
- These programs and the documentations (the "software") are the copyrighted
- property of FM de Monasterio (the "author"), who provides the software and
- licenses its use. Neither the title to nor ownership of this software are
- transferred to you by such a license, and both are retained by the author.
- All rights are reserved.
-
- The software is user-supported; the enclosed release, although lacking the
- options marked by asterisks, is a fully usable program. You may test this
- release for (in)compatibilities with your system, but after the testing is
- completed you are requested to order a registered release of this software
- from the address below.
-
- Alternatively, to continue use of this unregistered copy, send to the same
- address a US$5.00 check marked "For Deposit Only," and payable to "PATIENT
- CARE FUND, CHILDREN'S HOSPITAL" of Washington, DC. Unregistered users who
- donate to this fund may legally keep such a copy under the injunctions and
- limitations described below.
-
- A form needed for the registration or upgrade of this software is provided
- in the file VIZ.REG. Refer all inquiries about the software to:
-
- FM de Monasterio
- P.O. Box 219
- Cabin John, MD 20818-0219
- LICENSE
-
- Upon registration you receive a non-exclusive, non-transferable license to
- use the software. Two types of license are available:
-
- Single User License:
- Upon registration/upgrade you are granted a nontransferable license to use
- the software in a single computer at a time. You may transfer the software
- physically to another computer provided that the software is then not used
- on more than one computer at any time.
-
- Site/10-Computer License:
- Upon registration/upgrade you are granted a nontransferable license to use
- the software in a single site or a set of sites provided that the software
- is not used in more than ten computers at any time and that such computers
- are located exclusively within the registered site(s).
-
-
- UPGRADES
-
- Within the same major version: Registered software users can upgrade free
- of charge within the same major version (e.g., 2.00 through 2.99).
-
- Outside the same major version: Registered users can upgrade for half the
- the license fee for a different version of the software.
-
- To upgrade send a self-addressed stamped diskette mailer with the original
- 360 kb diskette to the address above, along with the upgrade form.
-
-
- SUPPORT
-
- Limited technical support is provided to registered users. If you discover
- a problem, please try to replicate it under the same conditions and, then,
- in the absence of other resident programs. (Changes in the order residents
- are installed sometimes solve conflicts.) If the problem can be replicated
- please write at the address above providing:
-
- - Your name and address.
- - Program version number (see the Syntax/Help panel).
- - Computer model and configuration, and hardware used.
- - A sufficiently detailed description of the problem.
- - A list of resident and nonresident programs in use,
- and their sequence of loading into memory.
-
-
- Messages may be left c/o Sysop at: The DC Information Exchange BBS
- ~~~ 202-433-6639, Sysop: Bill Walsh
- (2400+ baud).
-
-
- INJUNCTIONS
-
- You may distribute this software via magnetic and/or electronic means, but
- you are specifically prohibited from:
-
- - Charging fees or asking donations in exchange of or payment
- for copies of the software.
- - Distributing this software with commercial products without
- the written permission from the author.
- - Distributing this software via a for-profit organization or
- group, either alone or with other software.
-
- The unauthorized copying, decompiling or disassembling of this software is
- prohibited; any other use of this software is prohibited without a written
- permission in advance from the author.
-
-
- LIMITED WARRANTY
-
- The author-copyright owner warrants for a period of thirty (30) days from
- the date of delivery that, under normal use and without any modification,
- the programs substantially conform to the accompanying specifications and
- that the documentation is substantially complete and contains information
- the author deems necessary to use the programs. If, during the thirty-day
- period, a demonstrable defect in the programs, magnetic medium upon which
- they are distributed, or documentation should appear, you may return this
- software for repair or replacement, at the author's option. If the defect
- cannot be repaired, or the software replaced with functionally equivalent
- software, within sixty (60) days of the author's receipt of the defective
- software, then you shall be entitled to a full refund of the license fee,
- but not of the mailing/handling costs described in the registration form.
-
- All other warranties of any kind, either express or implied,including but
- not limited to the implied warranties of merchantability and fitness for
- for as a particular purpose, are expressly excluded.
-
- The author cannot and does not warrant that any function contained in the
- programs will meet your requirements, or that the operation will be error
- free. The entire risk as to the software performance or quality, or both,
- is solely with the user, and not with the author.
-
-
- LIMITATION OF REMEDIES
-
- You assume responsibility for the selection of the program to achieve your
- intended results, and for the installation, use, and results obtained from
- the software.
-
- The author makes no warranty, either implied or expressed, including with-
- out limitation any warranty with respect to this software documented here,
- its quality, performance, or fitness for a particular purpose. In no event
- shall the author be liable to you for damages, whether direct or indirect,
- incidental, special, or consequential arising out the use of or any defect
- in the software, even if the author has been advised of the possibility of
- such damages, or for any claim by any other party.
-
- The author's entire liability, and your exclusive remedy shall be: (1) the
- replacement of an original software diskette not meeting the above Limited
- Warranty and which is returned to the author along with proof of purchase,
- or (2), if the author is unable to deliver a replacement diskette which is
- free of defects, you may terminate the License Agreement by returning this
- software and the corresponding license fee will be returned.
-
-
- GENERAL
-
- By using the software, you acknowledge (1) to have read and understood all
- parts of this document and (2) to have agreed with and accepted all of its
- provisions without any reservation.
-
- ------------------------------------------------------------------------------
- [END]